/**
 * 
 */
package usuario;

import java.util.Iterator;
import java.util.Vector;

import javax.servlet.http.HttpServletRequest;

import persistencia.Persistencia;
import persistencia.dominio.Cliente;

/**
 * @brief La clase implementa los metodos que se utilizaran en un archivo jsp. 
 * @author Leonardo Marmol
 *
 */
public class GeneradorWeb {

	/**dsa
	 * 
	 */
	public GeneradorWeb(){
	}
	
	/**
	 * El metodo toma el parametro request, obtiene sus datos y lo almacena en la base de datos.
	 * @param request
	 * @throws Exception
	 */
	public void altaCliente(HttpServletRequest request) throws Exception{
		String nombre = request.getParameter("nombre");
		String apellido = request.getParameter("apellido");
		String dni_aux = request.getParameter("dni");
		Cliente u = new Cliente(nombre,apellido,Integer.parseInt(dni);;
		ControlCliente ctrl = new ControlCliente();
		Object[] datos= {u.getNombre(),u.getNombre(),u.getDni()};
		ctrl.guardarCliente(datos);
	}
	
	/**
	 * @param request
	 * @return
	 * @throws Exception
	 */
	public String generarTablaClientes() throws Exception{
		Persistencia p = new Persistencia();
		Vector clientes = p.getObjetos(Cliente.class);
		Iterator i = clientes.iterator();
		String tabla = ("<table border=\"5\" align=\"center\"><tr><td>ID</td><td>Nombre</td><td>Apellido</td><td>DNI</td></tr>");
		int id = 0;
		while (i.hasNext()) {
			Cliente c = (Cliente) i.next();
			tabla = tabla+"<tr>";
			tabla = tabla+"<td>" + ++id + "</td>";
			tabla = tabla + "<td>" + c.getNombre() + "</td>";
			tabla = tabla + "<td>" + c.getApellido() + "</td>";
			tabla = tabla+ "<td>" + c.getDni() + "</td>";
		}
		tabla = tabla +("</table>");
		p.cerrarTransaccion();
		p.cerrarPersistencia();
		return tabla;
	}
	
	/**
	 * @throws Exception 
	 * 
	 */
	public void generarModificarCliente(HttpServletRequest request) throws Exception{
		String nombre = request.getParameter("modNom");
		String apellido = request.getParameter("modApe");
		String dni = request.getParameter("modDni");
		Cliente u = new Cliente(nombre,apellido,dni);
		String dni_viejo = request.getParameter("dniOriginal");
		ControlCliente ctrl = new ControlCliente();
		Object[] datos= {u.getNombre(),u.getNombre(),u.getDni()};
		ctrl.guardarClienteMod(datos,dni_viejo);
	}
	
	/**
	 * 
	 * @param request
	 * @throws Exception
	 */
	public void eliminarCliente(HttpServletRequest request) throws Exception{
		String dni = request.getParameter("dniEliminar");
		Object[] datos= {dni};
		ControlCliente ctrl = new ControlCliente();
		ctrl.bajaCliente(datos);
		
	}
}
